package com.jinmdz.fmis.mapper.entity;

import com.jinmdz.fmis.mapper.annotation.MyColumn;
import com.jinmdz.fmis.mapper.annotation.MyTable;
import com.jinmdz.fmis.mapper.base.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 费用项目表Entity
 *
 * @author generator
 * @date 2020-05-15 09:40
 */
@MyTable(value = "ChargeItemEntity", name = "charge_item", comment = "费用项目表")
public class ChargeItemEntity extends BaseEntity {
    /**
     * 业务编码
     */
    @MyColumn(value = "businessCode", name = "business_code", comment = "业务编码", required = true)
    private String businessCode;

    /**
     * 服务项目外键
     */
    @MyColumn(value = "serviceItemId", name = "service_item_id", comment = "服务项目外键", required = true)
    private Integer serviceItemId;

    /**
     * 项目价格
     */
    @MyColumn(value = "itemPrice", name = "item_price", comment = "项目价格", required = true)
    private BigDecimal itemPrice;

    /**
     * 项目数量
     */
    @MyColumn(value = "itemNumber", name = "item_number", comment = "项目数量", required = true)
    private BigDecimal itemNumber;

    /**
     * 项目单位
     */
    @MyColumn(value = "itemUnit", name = "item_unit", comment = "项目单位")
    private String itemUnit;

    /**
     * 项目金额
     */
    @MyColumn(value = "itemCharge", name = "item_charge", comment = "项目金额", required = true)
    private BigDecimal itemCharge;

    /**
     * 优惠金额
     */
    @MyColumn(value = "discountCharge", name = "discount_charge", comment = "优惠金额", required = true)
    private BigDecimal discountCharge;

    /**
     * 惠民金额
     */
    @MyColumn(value = "benefitCharge", name = "benefit_charge", comment = "惠民金额", required = true)
    private BigDecimal benefitCharge;

    /**
     * 实际收费金额
     */
    @MyColumn(value = "realityCharge", name = "reality_charge", comment = "实际收费金额", required = true)
    private BigDecimal realityCharge;

    /**
     * 费用时间
     */
    @MyColumn(value = "chargeTime", name = "charge_time", comment = "费用时间", required = true)
    private Date chargeTime;

    /**
     * 是否不可结算
     */
    @MyColumn(value = "asUnsettled", name = "as_unsettled", comment = "是否不可结算", required = true)
    private Integer asUnsettled;

    /**
     * 是否结算
     */
    @MyColumn(value = "asSettled", name = "as_settled", comment = "是否结算", required = true)
    private Integer asSettled;

    /**
     * 费用结算外键
     */
    @MyColumn(value = "chargeSettleId", name = "charge_settle_id", comment = "费用结算外键")
    private Integer chargeSettleId;

    /**
     * 是否业务费用
     */
    @MyColumn(value = "asBusiness", name = "as_business", comment = "是否业务费用", required = true)
    private Integer asBusiness;

    /**
     * 是否被退费或负费用
     */
    @MyColumn(value = "asRefund", name = "as_refund", comment = "是否被退费或负费用", required = true)
    private Integer asRefund;

    /**
     * 被退费费用主键
     */
    @MyColumn(value = "refundId", name = "refund_id", comment = "被退费费用主键")
    private Integer refundId;

    /**
     * 随机码
     */
    @MyColumn(value = "randomCode", name = "random_code", comment = "随机码")
    private String randomCode;

    /**
     * 备注
     */
    @MyColumn(value = "remark", name = "remark", comment = "备注")
    private String remark;


    public String getBusinessCode() {
        return businessCode;
    }

    public ChargeItemEntity setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getServiceItemId() {
        return serviceItemId;
    }

    public ChargeItemEntity setServiceItemId(Integer serviceItemId) {
        this.serviceItemId = serviceItemId;
        return this;
    }

    public BigDecimal getItemPrice() {
        return itemPrice;
    }

    public ChargeItemEntity setItemPrice(BigDecimal itemPrice) {
        this.itemPrice = itemPrice;
        return this;
    }

    public BigDecimal getItemNumber() {
        return itemNumber;
    }

    public ChargeItemEntity setItemNumber(BigDecimal itemNumber) {
        this.itemNumber = itemNumber;
        return this;
    }

    public String getItemUnit() {
        return itemUnit;
    }

    public ChargeItemEntity setItemUnit(String itemUnit) {
        this.itemUnit = itemUnit;
        return this;
    }

    public BigDecimal getItemCharge() {
        return itemCharge;
    }

    public ChargeItemEntity setItemCharge(BigDecimal itemCharge) {
        this.itemCharge = itemCharge;
        return this;
    }

    public BigDecimal getDiscountCharge() {
        return discountCharge;
    }

    public ChargeItemEntity setDiscountCharge(BigDecimal discountCharge) {
        this.discountCharge = discountCharge;
        return this;
    }

    public BigDecimal getBenefitCharge() {
        return benefitCharge;
    }

    public ChargeItemEntity setBenefitCharge(BigDecimal benefitCharge) {
        this.benefitCharge = benefitCharge;
        return this;
    }

    public BigDecimal getRealityCharge() {
        return realityCharge;
    }

    public ChargeItemEntity setRealityCharge(BigDecimal realityCharge) {
        this.realityCharge = realityCharge;
        return this;
    }

    public Date getChargeTime() {
        return chargeTime;
    }

    public ChargeItemEntity setChargeTime(Date chargeTime) {
        this.chargeTime = chargeTime;
        return this;
    }

    public Integer getAsUnsettled() {
        return asUnsettled;
    }

    public ChargeItemEntity setAsUnsettled(Integer asUnsettled) {
        this.asUnsettled = asUnsettled;
        return this;
    }

    public Integer getAsSettled() {
        return asSettled;
    }

    public ChargeItemEntity setAsSettled(Integer asSettled) {
        this.asSettled = asSettled;
        return this;
    }

    public Integer getChargeSettleId() {
        return chargeSettleId;
    }

    public ChargeItemEntity setChargeSettleId(Integer chargeSettleId) {
        this.chargeSettleId = chargeSettleId;
        return this;
    }

    public Integer getAsBusiness() {
        return asBusiness;
    }

    public ChargeItemEntity setAsBusiness(Integer asBusiness) {
        this.asBusiness = asBusiness;
        return this;
    }

    public Integer getAsRefund() {
        return asRefund;
    }

    public ChargeItemEntity setAsRefund(Integer asRefund) {
        this.asRefund = asRefund;
        return this;
    }

    public Integer getRefundId() {
        return refundId;
    }

    public ChargeItemEntity setRefundId(Integer refundId) {
        this.refundId = refundId;
        return this;
    }

    public String getRandomCode() {
        return randomCode;
    }

    public ChargeItemEntity setRandomCode(String randomCode) {
        this.randomCode = randomCode;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public ChargeItemEntity setRemark(String remark) {
        this.remark = remark;
        return this;
    }
}